
function loadMachineData( machineId ){
	ret = [];
	$.ajax({
		'async': false,
		'type': 'POST', 
		'data': { 'machineId': machineId },
		'url': 'LoadMachineDataServlet',
		'dataType': 'json',
		'success': function( result ){
			ret = result;
		}
	});
	
	return ret;
}

function showEditMachinePopup( machine ){
	var hg = new HtmlGenerator();
	var html = hg.div();
	html.append( hg.input('hidden', 'common', 'id', machine.id ));
	html.append( hg.h4('Podstawowe dane') );	
	var table = hg.table();	
	
	var tr = hg.tr('Nazwa automatu', hg.input('text', 'common', 'name', machine.machineName ));	
	table.append( tr );	

	var tr = hg.tr('Adres ', hg.input('text', 'common', 'address', machine.address ));	
	table.append( tr );	

	html.append( table );	
	
	html.append( hg.h4('Ceny artykulów') );
	
	var table = hg.table();
	for( var i in machine.trademarks ){
		var tr = hg.tr();			
		tr.append( hg.td('Cena artykulu ' + machine.trademarks[i].name ) );
		var inputs = hg.div();
		inputs.append( hg.input('text', '', 'price_' + machine.trademarks[i].trademarkId, machine.trademarks[i].price ) );		
		tr.append( hg.td( inputs ) );
		table.append( tr );
	}
	html.append( table );
	
	popup = new Popup('Edycja automatu ' + machine.machineName, html, [{'value': 'ZAPISZ', 'callback': function(){ 
			savePrices( collectData( html ) ); popup.remove(); alert("Dane zostaly zapisane!")  } }
	] );
	popup.display();
}

$('.id-edit-chosen-machine').click( function(){ 
	var machineIdSelector = $(this).closest('tr').find('select');
	var machineId = machineIdSelector.val();
	if( machineId == 0 ){
		alert('Nie wybrales automatu!');
	} else {
		var machine = loadMachineData( machineId );
		showEditMachinePopup( machine );
	}	
});

function collectData( source ){
	var data = {};
	$('input', source).each( function(){
		data[$(this).prop('name')] = $(this).val();
	});		

	return data;
	
}

function savePrices( data ){	 
	$.ajax({
		'type': 'POST',
		'async': false,
		'url': 'EditMachineDataServlet',		
		'data': data,
		'success': function( result ){}
	});
}